home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 25 / AACD 25.iso / AACD / Magazine / Installer / Example1 < prev    next >
Text File  |  2001-08-01  |  2KB  |  131 lines

  1. ; Procedures
  2. ;;; Setup message, prompt and help strings
  3. (procedure SetStrings
  4.     (set
  5.         #OldInstaller
  6.             "You need at least version 43 of the Installer program\nYou can get this from any AACD"
  7.  
  8.         #GetDestPrompt
  9.             (cat
  10.                 "Where would you like to install " @app-name "\n\n"
  11.                 "A drawer will be created."
  12.             )
  13.  
  14.         #GetDestHelp
  15.             "blah..."
  16.  
  17.         #InstallPrompt 
  18.             "copying file"
  19.  
  20.         #InstallHelp
  21.             "copying file"
  22.     )
  23. )
  24. ;;;
  25. ;;;Check installer version
  26. (procedure CheckInstaller
  27.     (if
  28.         (< (/ @installer-version 65536) 43)
  29.         (abort #OldInstaller)
  30.     )
  31. )
  32. ;;;
  33. ;;; Confirm responses
  34. (procedure ConfirmDetails
  35.     (askbool
  36.         (prompt
  37.             (cat
  38.                 "\nYou have chosen to copy " @app-name " to "
  39.                 #DestDir "\nand its documentation to " #DocPath
  40.                 "\n\nDo you wish to proceed?"
  41.             )
  42.         )
  43.         (help #ConfirmHelp)
  44.     )
  45. )
  46. ;;;
  47. ;;; Ask for the installation paths
  48. (procedure GetDestination
  49.     (set #ProgDir "MyProg")
  50.     (set #DestDir
  51.         (askdir
  52.             (prompt #GetDestPrompt)
  53.             (help #GetDestHelp)
  54.             (default (expandpath "SYS:"))
  55.         )
  56.     )
  57.     (set #DestDir (tackon #DestDir #Progdir)) 
  58.     (if
  59.         (not (exists #DestDir))
  60.         (makedir #DestDir)
  61.     )
  62.     (set @default-dest #DestDir)
  63.  
  64.     (set #DocPath
  65.         (askchoice
  66.             (prompt #DocPrompt1)
  67.             (help #DocHelp1)
  68.             (choices
  69.                 #DestDir
  70.                 "HELP:"
  71.                 "HELP:English"
  72.             )
  73.             (default 0)
  74.         )
  75.     )
  76.  
  77.     (set #DocPath
  78.         (select
  79.             #DocPath
  80.                 #DestDir
  81.                 "HELP:"
  82.                 "HELP:English"
  83.                 "Elsewhere"
  84.         )
  85.     )
  86.     (ConFirmDetails)
  87. )
  88. ;;;
  89. ;;; Copy the program and docs
  90. (procedure CopyProgram
  91.     (copylib
  92.         (prompt #InstallPrompt)
  93.         (help #InstallHelp)
  94.         (source "MyProg")
  95.         (dest #DestDir)
  96.         (confirm)
  97.         (infos)
  98.     )
  99.  
  100.     (copyfiles
  101.         (prompt #DocPrompt2)
  102.         (help #DocHelp2)
  103.         (source "")
  104.         (dest #DocPath)
  105.         (pattern "#?.(guide|doc)")
  106.         (infos)
  107.     )
  108. )
  109. ;;;
  110. ;;; Add assign and path to user-startup
  111. (procedure AddAssign
  112.     (startup @app-name
  113.         (prompt #StartupPrompt)
  114.         (help #StartupHelp)
  115.         (confirm)
  116.         (command 'Assign >NIL: MyProg: "' #DestDir '"\n')
  117.         (command "Path MyProg: ADD")
  118.     )
  119. )
  120. ;;;
  121.  
  122. ; Main install
  123. (welcome)
  124. (SetStrings)
  125. (CheckInstaller)
  126. (until (GetDestination))
  127. (CopyProgram)
  128. (AddAssign)
  129. (exit)
  130.  
  131.